/**
 * @type {String}
 *
 * @properties={typeid:35,uuid:"F7BAFA1B-679A-495B-9946-741C0E403886"}
 */
var fMoneda = null;

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"AECB4167-9A8D-4DCD-B31C-304BE9AAA923"}
 * @AllowToRunInFind
 */
function onAction_siguiente(event) {
	
	var $diario = forms.libro_diario
	var $titulo
	var estado = $diario.controller.find()
	if (estado == false)
	{
		globals.DIALOGS.showWarningDialog("Aviso",'Error al hacer el find','Ok')
		return
	}	

	$diario.anio = globals.gAnio
	$diario.mes  = globals.gMes
	$diario.asiento_to_asiento_cab_impresion.empresa   = globals.gUservID
	$diario.asiento_to_asiento_cab_impresion.moneda = "A"

    $diario.controller.newRecord()
    
	if (globals.gmoneda_consulta == 1)
	{	
		$diario.anio = globals.gAnio
		$diario.mes  = globals.gMes
		$diario.asiento_to_asiento_cab_impresion.empresa   = globals.gUservID
		$diario.asiento_to_asiento_cab_impresion.moneda = "P"
		$titulo = "Libro Diario en Pesos"
	}
	else
	{
		$diario.anio = globals.gAnio
		$diario.mes  = globals.gMes
		$diario.asiento_to_asiento_cab_impresion.empresa   = globals.gUservID
		$diario.asiento_to_asiento_cab_impresion.moneda = "D"
		$titulo = "Libro Diario en Dólares"
	}
	$titulo += " de " + application.getValueListDisplayValue('mes_anio',globals.gMes+'|'+globals.gAnio)
	
	if ($diario.controller.search() == 0) 
	{
		globals.DIALOGS.showWarningDialog("Aviso",'No hay registros con esas condiciones','Ok')
		return		
	}
	else
	{
		var $cols = new Array('orden','asiento_cab_id','numero','fecha','cuenta_impresion','leyenda','importe_debe','importe_haber','txt_1')
		var $ds = databaseManager.createEmptyDataSet(0,$cols)
		$ds.rowIndex = 1

		$diario.controller.sort('asiento_to_asiento_cab.fecha asc , asiento_cab_id asc , columna asc')
		
		var $cant = databaseManager.getFoundSetCount($diario.foundset)
		
		var $subtot_debe = 0
		var $subtot_haber = 0

		var $nro_ant = $diario.asiento_cab_id
		
		var $datos = new Array($ds.getMaxRowIndex(),$diario.asiento_cab_id,$diario.asiento_to_asiento_cab_impresion.numero,$diario.asiento_to_asiento_cab_impresion.fecha,'No. Asiento:'+$diario.asiento_to_asiento_cab_impresion.numero + ' de Fecha: '+ utils.dateFormat($diario.asiento_to_asiento_cab_impresion.fecha,'dd/MM/yyyy'),$diario.asiento_to_asiento_cab_impresion.texto,null,null,'')
		$ds.addRow($datos)
		
		for (var i = 1 ; i <= $cant ; i++)
		{			
			//$diario.controller.setSelectedIndex(i)
			var $rcd = $diario.foundset.getRecord(i)

			//Se llenan los importes segun si es en pesos o en dolares	
			if ($rcd.importe_debe_cons != null && $rcd.importe_debe_cons != undefined)
				var $imp_debe = $rcd.importe_debe_cons
			else
				var $imp_debe = 0
			
			if ($rcd.importe_haber_cons != null && $rcd.importe_haber_cons != undefined)
				var $imp_haber = $rcd.importe_haber_cons
			else
				var $imp_haber = 0
				
			if ($rcd.asiento_cab_id == $nro_ant)
			{
				var $texto = utils.stringTrim($rcd.leyenda)
				if ($texto == utils.stringTrim($rcd.asiento_to_asiento_cab_impresion.texto))
					$texto = ''
				$datos = new Array($ds.getMaxRowIndex(),$rcd.asiento_cab_id,$rcd.asiento_to_asiento_cab_impresion.numero,$rcd.asiento_to_asiento_cab_impresion.fecha,$rcd.cuenta_impresion,$texto,$imp_debe,$imp_haber,'Cuenta')
 			    $ds.addRow($datos)
			
				$subtot_debe += $imp_debe
				$subtot_haber += $imp_haber
			}
			else
			{
				//agrego el total
				$datos = new Array($ds.getMaxRowIndex(),$nro_ant,$rcd.asiento_to_asiento_cab_impresion.numero,$rcd.asiento_to_asiento_cab_impresion.fecha,'T O T A L   A S I E N T O','',$subtot_debe,$subtot_haber,'','')
				$ds.addRow($datos)	
				
				$datos = new Array($ds.getMaxRowIndex(),$rcd.asiento_cab_id,$rcd.asiento_to_asiento_cab_impresion.numero,$rcd.asiento_to_asiento_cab_impresion.fecha,'No. Asiento:'+$rcd.asiento_to_asiento_cab_impresion.numero + ' de Fecha: '+ utils.dateFormat($rcd.asiento_to_asiento_cab_impresion.fecha,'dd/MM/yyyy'),$rcd.asiento_to_asiento_cab.texto,null,null,'')
				$ds.addRow($datos)
				
				var $texto = utils.stringTrim($rcd.leyenda)
				if ($texto == utils.stringTrim($rcd.asiento_to_asiento_cab_impresion.texto))
					$texto = ''
			    $datos = new Array($ds.getMaxRowIndex(),$rcd.asiento_cab_id,$rcd.asiento_to_asiento_cab_impresion.numero,$rcd.asiento_to_asiento_cab_impresion.fecha,$rcd.cuenta_impresion,$texto,$imp_debe,$imp_haber,'Cuenta')
 			    $ds.addRow($datos)

  				$nro_ant = $rcd.asiento_cab_id
			
				$subtot_debe = $imp_debe
				$subtot_haber = $imp_haber
		    }
		}
		//agrego el ultimo asiento
 		$datos = new Array($ds.getMaxRowIndex(),$nro_ant,$rcd.asiento_to_asiento_cab_impresion.numero,$rcd.asiento_to_asiento_cab_impresion.fecha,'T O T A L   A S I E N T O','',$subtot_debe,$subtot_haber,'')
		$ds.addRow($datos)
		
		var $params = {
			userv: usuarios_to_uservs.razon_social,
			titulo: $titulo
		}
 		if (event.getElementName()=='boton_pdf')
		{			
			jasper('pdf', $params, $ds)
		}
		else
		{ 
			jasper('impresion', $params, $ds)
		}
		
/*		var nombre = 'libro_diario_2'
		history.removeForm(nombre)
		solutionModel.removeForm(nombre)

		var tipos = new Array(JSColumn.INTEGER,JSColumn.INTEGER,JSColumn.INTEGER,JSColumn.DATETIME,JSColumn.TEXT,JSColumn.TEXT,JSColumn.NUMBER,JSColumn.NUMBER,JSColumn.TEXT,JSColumn.TEXT)
		var $dSource = $ds.createDataSource('diario',tipos)
	
		var $frm = solutionModel.getForm('libro_diario')
		var $frm2 = solutionModel.cloneForm(nombre,$frm)
		$frm2.dataSource = $dSource
		
		// forms[$frm2.name].controller.sort('asiento_cab_id asc, orden asc')  // 23/01/2013
		forms[$frm2.name].controller.recreateUI()
		
		if (event.getElementName()=='boton_pdf')   //  29/01/2013
		{ // pdf				
			globals.metodoPdf($frm2.name,'libro_diario_',true)
		}
		else
		{ // vista previa
			forms[$frm2.name].controller.showPrintPreview(false, null, 100)
		}*/
		
	}
}

/**
 * @param {String} tipo
 * @param {Object} params
 * @param {JSDataSet} ds
 *
 * @properties={typeid:24,uuid:"592A41CD-B8E6-4D5F-89F7-89C374C2E3C6"}
 */
function jasper(tipo, params, ds)
{
	globals.metodoJasper(tipo,'contable/libro_diario.jasper','Libro_Diario',ds,params)
}

/**
 * Callback method for when form is shown.
 *
 * @param {Boolean} firstShow form is shown first time after load
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"44A12AEB-175C-4F1D-9DFD-201BBDBBDCCD"}
 */
function onShow(firstShow, event) {
	globals.gvarios = 3
}

/**
 * Handle changed data.
 *
 * @param {String} oldValue old value
 * @param {String} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"D9469FF8-4720-4B1C-8EB7-25F4BBCF97AF"}
 */
function onDataChangeFecha(oldValue, newValue, event) {
	globals.gMes 	= newValue.substring(0,newValue.indexOf('|'))
	globals.gAnio	= newValue.substring(newValue.indexOf('|')+1,newValue.length)
	return true
}
